1. Copyright Notice
A portion of the disclosure of this patent document contains material which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office patent file or records, but otherwise reserves all copyright rights whatsoever.
2. Technical Field
This invention relates to tracking and display of the history of an evolving application. In particular, this invention relates to a system through which an operator may navigate in time through application states, actions taken on the application, and the triggers for those actions to view the application at selected temporal points in the past.
3. Related Art
Groups of people often use complex collaboration and decision support tools, over long periods of time, to perform complex design and planning actions and decisions which drive an application (e.g., a chemical plant process configuration or a complex material distribution chain) to its current state. The combination of time and complexity can often obscure past actions and decisions, making it difficult to remember the factors that influenced earlier stages in the planning. This is especially true if the task involves many people and different people work at different times.
Thus, in the past, applications resulting from the complex design and planning tasks had a relatively opaque history. Any understanding of how an application arrived at its current state was often limited by individual, often inaccurate, memories, hastily taken notes, and poor documentation. Accordingly, it was very difficult to unravel the history of the design and planning steps leading to the current state of the application.
For these and other reasons, substantial challenges existed in providing an understanding of how and why decisions were made, who made the decisions, and how those decisions impacted the current state of the application. These limitations hindered the further development, improvement, and changes to the application as well as attempts to understand how an application arrived at its current state. The limitations also greatly increased the difficulty of effectively and efficiently introducing new people to development or planning roles for the application.
At the same time, the amount of data underlying the history of the application presents significant display, manipulation, and presentation challenges. In particular, distributed data gathering and processing systems allow the collection, storage and manipulation of large amounts of data, including real time data. Real time data is data that is updated and processed at the same rate at which it is received. Real time data may originate in a variety of sources. Examples include sensor networks in systems or environments to be monitored and radio frequency identification tag (RFID) tracking systems for inventory or assets. These and other related technologies have given organizations access to a wealth of real time information about all aspects of the organization's operation. These aspects include, for example, consumer behavior, competitor behavior, employee productivity, supply chain activity, manufacturing, shop floor activity and so on.
For large organizations, this information can be extremely valuable for making decisions or developing insights. In the aggregate, this information may reveal patterns or trends not otherwise immediately apparent. When processed over time, this information may reveal developments that may be used for future prediction. Gathering and managing large amounts of data can provide a new view of system status or operation.
However, the enormous volume of data and the density of inter-connections can make it difficult to easily visualize this information on standard workstations. A conventional workstation is based on personal computer technology and generally includes a processing device and a user interface including, for example, a display screen, a mouse or other input device. While multimedia capabilities can enhance the presentation of information, the small size and limited features of the conventional device make meaningful presentation of the information difficult.
Furthermore, the complexity of the data and the decision making processes necessitate a shared view and collaboration among multiple experts. Even with a large screen and multimedia capabilities, only a few people can see and interact with a conventional workstation simultaneously. If manipulation of a mouse or keyboard is required, only a single person can control the workstation while a limited number of other participants view the process.
One solution to both issues is to give experts access to an immersive environment with which they can view, share, and physically interact with the information. In one example, such an environment is made up of large, high resolution displays, personal digital assistants (PDAs) and three dimensional (3-D) displays, along with alternative interaction modalities such as touch-enabled screens, 3-D mouse, data gloves etc.
Due to constraints with both technology and form factor, such an environment requires a system that can distribute one logical application across multiple computers and display systems that make up the immersive environment. Such a system must handle distribution of both the visual display and the user interactions.
Adequate systems to provide the necessary capabilities have not been available. Currently there is no standard architecture, language or protocol for building applications that span multiple and possibly heterogeneous computers, multiple displays, possibly of different form factors, and multiple interaction modalities. Such applications have to be created from scratch with the application developer managing interaction among multiple computers, multiple displays and multiple interaction modalities. Some commercially available system are typically built using expensive video processors that allow information and graphical data to be displayed on a screen, but not necessarily as one cohesive application. Examples are available from Jupiter.com and are priced in the hundreds of thousands of U.S. dollars.
A need has long existed for a system which facilitates the understanding, review, and design of complex applications and which addresses the difficulties associated with displaying the potentially extensive volume of data underlying the history of the applications.